package com.zhangxx.web.common.model;

/**
 * @apiNote 状态码定义 40xx开头的是普通异常
 * 50xx开头的是业务异常
 */
public enum ServerStatus {

    /**
     * 执行成功
     */
    SUCCESS(200000, "执行成功"),

    /**
     * 非法请求
     */
    ILLEGAL_REQUEST(400001, "非法请求"),

    /**
     * 服务端异常, 请稍后再试
     */
    SERVER_UNKNOWN_ERROR(400002, "服务端异常, 请稍后再试"),

    /**
     * 参数验证错误
     */
    VALIDATION_ERROR(400003, "参数错误，请检查后重试"),

    PARAMNOTEMPTY_ERROR(400005, "参数不能为空"),

    PARAMTYPE_ERROR(400004, "参数类型错误，请检查后重试");


    private int code;

    private String message;

    ServerStatus(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public int value() {
        return code;
    }

    public String message() {
        return message;
    }

    @Override
    public String toString() {
        return this.message;
    }
}
